<?php

class Web_Admin_Pedidos_Wgt_Pedidos
{

    public function __construct($context)
    {
        $context->add_css_link(BASE_WEB_ROOT . '/css/datepicker.css');
        $context->add_js_link(BASE_WEB_ROOT . '/js/datepicker.js');
    }

    public function render()
    {
        return $this->_getUsuarios();
    }

    private function _getUsuarios()
    {        
        global $db;
        $selectSql = $db->select()->from('ma_moneda', array('mon_valor'))->where('mon_key="dolar"');
        $moneda = $db->fetchRow($selectSql);
        $moneda->mon_valor = round(1 / $moneda->mon_valor, 2);
//        print_r($moneda->mon_valor);

        Ey::addConfig('activemenu', Ey::getPrm(1));
        
        $usu_id = Ey::getPrm(3);

        $obj = new Web_Db_Carrito();
        $db = $obj->getAdapter();
        $select = $db->select()
                ->from(array('tb1' => 'ma_carrito'))
                ->join(array('tb2' => 'ma_clientes'), 'tb1.car_usu_id = tb2.cli_id', array('cli_nombre', 'cli_apellido'))
                ->join(array('tb3' => 'ma_carrito_direccion'), 'tb1.car_id = tb3.dir_car_id', array('dir_fenvio'))
                ->where('car_estado != ?', 0)
                ->order('car_id DESC');

        if ($usu_id) {
            $select->where('car_usu_id = ?', $usu_id);
            $pager = new Ey_Pager($select, WEB_ROOT . '/admin/pedidos/main/' . $usu_id, Ey::getPrm(4), 20);
        } else {
            $pager = new Ey_Pager($select, WEB_ROOT . '/admin/pedidos/main/0', Ey::getPrm(4), 20);
        }

        $rows = $pager->fetchAll();
        $navegador = $pager->getNavigation();
        
//        print_r($rows);

        if (!is_null($rows)) {
            
            $pedidos = array();

            foreach ($rows as $item) {
                if ($item->car_tipo_pago == 'Deposito'){
                    $precioTotal = $item->car_total * $moneda->mon_valor; 
                    $simbolo = 'S/.';
                } else {
                    $precioTotal = $item->car_total;
                    $simbolo = '$';
                }

                //consulta para el total a pagar y el total de productos
                $obj2 = new Web_Db_CarritoDetalle();
                $db2 = $obj2->getAdapter();
                $carrito = $db2->fetchAll($obj2->select()
                                        ->from('ma_carrito_detalle', array('det_pro_cantidad'))
                                        ->where('det_car_id=?', $item->car_id));
//                print_r($carrito);
                
                $cantidad = null;
                foreach ($carrito as $value) {
                    $cantidad+=$value->det_pro_cantidad;
                }
                
                if ($item->car_estado != 1) {
                    $bgcolor = 'second';
                    $estado = Ey::crearBoton(WEB_ROOT . '/admin/pedidos/svc/activar-estado/'. $item->car_id . '/1', 'OK', 'adm_btn_ok');
                } else {
                    $bgcolor = 'first';
                    $estado = Ey::crearBoton(WEB_ROOT . '/admin/pedidos/svc/activar-estado/'. $item->car_id . '/0', 'Pendiente', 'adm_btn_alert');
                }
                
                $detalle = '<a title="Detalle Pedido" href="' . WEB_ROOT . '/admin/pedidos/detalle-pedido/' . $item->car_id . '"><img src="' . WEB_ROOT . '/img/admin/detail.png" /></a>';
                
                $eliminar = '<a title="Eliminar Pedido" href="' . WEB_ROOT . '/admin/pedidos/svc/eliminar-pedido/' . $item->car_id . '" class="adm_alert_delete"><img src="' . WEB_ROOT . '/img/admin/delete.png" /></a>';

                $pedidos[] = array('id' => $item->car_id,
                                    'name' => ucwords(mb_strtolower($item->cli_apellido, 'UTF-8')) . ', ' . ucwords(mb_strtolower($item->cli_nombre, 'UTF-8')),
                                    'metodo' => $item->car_tipo_pago,
                                    'fecha' => $item->car_fecha_registro,
                                    'cantidad' => $cantidad,
                                    'precioTotal' => number_format($precioTotal, 2, '.', ','),
                                    'simbolo' => $simbolo,
                                    'fenvio' => $item->dir_fenvio,
                                    'estado' => $estado,
                                    'detalle' => $detalle,
                                    'eliminar' => $eliminar,
                                    'bgcolor' => $bgcolor);
            }

            $smarty = new Smarty_Engine();
            $smarty->assign('usuarios', $pedidos);
            $smarty->assign('navegacion', $navegador);
            $smarty->assign('fecha', Web_Admin_Pedidos_Wgt_Fecha::render());

            if (count($rows) <= 0) {
                $smarty->assign('footermsg', 'Aun no se han creado Pedidos');
            }

            return $smarty->fetch(ADMIN_PEDIDOS_DIR . DS . 'tpl' . DS . 'pedidos.tpl');
        }
    }

}

